In computer science, specifically formal languages, convolution (sometimes referred to as zip) is a function which maps a tuple of sequences into a sequence of tuples. == Example == Given the three words ''and'', ''fish'' and ''be'' where |''and''| is 3, |''fish''| is 4 and |''be''| is 2. Let denote the longest word which is ''fish''; . The convolution of ''and'', ''fish'', ''be'' is then 4 tuples of elements: : where ''#'' is a symbol not in the original alphabet. In Haskell this truncates to shortest sequence , where : zip3 "and" "fish" "be" -- ()